import 'dart:io';

void main() {
  print('111111');
  // 通过异步编程，获取网络数据，线程不会堵塞
  getNetworkData()
      // 成功 then
      .then((res) {
    print('then方法执行:' + res);
  })
      // 失败 catchError
      .catchError((error) {
    print(error);
  })
      // 完成 whenComplete
      .whenComplete(() {
    print('whenComplete方法执行');
  });
  print('22222');
}

Future<String> getNetworkData() {
  return Future(() {
    print('网络数据加载中...');
    // 模拟网络请求等耗时操作
    sleep(Duration(seconds: 3));
    // return '返回数据 xxx';
    throw new Exception('网络请求异常');
  });
}